/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.claro.administracionSolicitudes.datamodel;

import co.com.claro.administracionSolicitudes.db.EJBDatabaseSolicitudesLocal;
import co.com.claro.administracionSolicitudes.dto.UsuarioDto;
import co.com.claro.administracionSolicitudes.entity.Usuario;
import java.util.List;

/**
 *
 * @author usuario
 */
public class UsuariosDynamicDataModel extends DynamicDataModel<Usuario> {

    private EJBDatabaseSolicitudesLocal localDatabase;

    private UsuarioDto dto;

    public UsuariosDynamicDataModel(EJBDatabaseSolicitudesLocal local) {
        this.localDatabase = local;
        dto = new UsuarioDto();
    }

    public UsuariosDynamicDataModel(EJBDatabaseSolicitudesLocal localDatabase, UsuarioDto dto) {
        this.localDatabase = localDatabase;
        this.dto = dto;
    }

    @Override
    public List<Usuario> getDataList(int firstRow, int numRows) {
        if (dto.getRol() == null) {
            return localDatabase.findUsuarios(firstRow, numRows, dto);
        } else {
            return localDatabase.findUsuariosByGrupo(dto.getRol(), dto.getCampoSorteado(), dto.isAscendiente());
        }
    }

    @Override
    public Object getKey(Usuario usuario) {
        return usuario.getIdUsuario();
    }

    @Override
    public int getTotalCount() {
        return localDatabase.countUsuariosQuery(dto);
    }

}
